package systole.persistence.brokersInterface;

import java.util.List;

import systole.domain.persons.Medic;
import systole.domain.persons.identityCard.IdentityCard;
import systole.exceptions.ExceptionDAO;

/**
 * @author jmj
 *
 */
public interface MedicBroker {
	
	/**
         * @param medic
         * @throws ExceptionDAO
	 */
	public void insert(Medic medic)throws ExceptionDAO ;
	/**
         * @param medic
         * @throws ExceptionDAO
	 */
	public void update(Medic medic)throws ExceptionDAO ;
	
	/**
	 * @param id
         * @return The medic with id.
         * @throws ExceptionDAO
	 */
	public Medic getMedicById(Integer id)throws ExceptionDAO ;
	
	/**
         * @return The list with all medics.
         * @throws ExceptionDAO 
	 */
	public List<Medic> getAllMedics()throws ExceptionDAO ;

       /**
        *
        * @param identityCard
        * @param id 
        * @return if exist any person with the identity card
        * @throws ExceptionDAO
        */
        public boolean existCardIdentity(IdentityCard identityCard, Integer id )    throws ExceptionDAO ;

}
